﻿<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>获取URL参数</title>
    <script type="text/javascript" src="../Content/highlighter/scripts/shCore.js"></script>
    <script type="text/javascript" src="../Content/highlighter/scripts/shBrushCSharp.js"></script>
    <script type="text/javascript" src="../Content/highlighter/scripts/shBrushXml.js"></script>
    <link type="text/css" rel="stylesheet" href="../Content/highlighter/styles/shCoreDefault.css"/>
    <script type="text/javascript">SyntaxHighlighter.all();</script>
</head>
<body>
	<h3>获取URL参数</h3>
    在控制器的方法中加入一些参数,例如user,然后输出.
	<pre class="brush: csharp;">
		using System;
		using System.Collections.Generic;
		using System.Web;

		namespace WebMvc.App.Controllers
		{
			public class SampleController:Controller
			{
				public void Show(string user)
				{
					Write(string.Format("Hello {0}.",user));
				}
			}
		}
	</pre>
    <p>
        运行WebCompiler.aspx重新生成.<br />
        然后把Web/Default/SampleControler文件夹包括在项目中.<br />
        其中Show.cs代码如下
    </p>
    <pre class="brush: csharp;">
        using System;
        using System.Collections.Generic;
        using System.Web;

        namespace WebMvc.App.Web.Default.SampleController
        {
            public class ShowAction  : Controller
	        {
		        public ShowAction(System.IO.TextWriter tw):base(tw){}
		        public ShowAction(string fileName) : base(fileName) {}
                public void Show(string user)
                {
                    Write(string.Format("Hello {0}.",user));
                }
            }
        }
    </pre>
    <p>
        修改Show.html文件中的URL
    </p>
	<p>
        URL为:http://localhost/App/SampleController/Show/user/Lucas.htm
	</p>
    其中Show.html中的代码如下:
    <pre class="brush: html" type="text/template">
        &lt;!DOCTYPE html&gt;
        &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
        &lt;head&gt;
        &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;
            &lt;title&lt;&lt;/title&lt;
        &lt;/head&gt;
        &lt;body&gt;
            &lt;script&gt;
                window.location.href = "/App/SampleController/Show/user/Lucas.htm";
	        &lt;/script&gt;
        &lt;/body&gt;
        &lt;/html&gt;
    </pre>
    <p>
        用浏览器查看Show.html.则浏览器输出Hello Lucas.
    </p>
    <h3>
        参数说明
    </h3>
    <p>
        NFinal会自动帮你转换好你所需要的参数类型,但必须保证参数名前后保持一致,<br />
        函数内的参数不仅可以获取URL中的参数,同样也可以获取POST中的参数.<br />
        但NFinal不支持获取?id=1这样的参数.<br />
        参数类型可以为int,string,float等基本类型.
    </p>
    <p>
        当然Controller内置的_get变量也可以像传统的ASPX那像手动获取并转换参数.<br />
        比如string user=_get[&quot;user&quot;];
    </p>
</body>
</html>
